<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Irrlicht 3D Engine: irr::core::map&lt; KeyType, ValueType &gt; Class Template Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="irrlichtlogo.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Irrlicht 3D Engine
   
   </div>
   
  </td>
  
  
  
   
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
   
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="dynsections.js"></script>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classirr_1_1core_1_1map.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">irr::core::map&lt; KeyType, ValueType &gt; Class Template Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="irr::core::map" -->
<p>map template for associative arrays using a red-black tree  
 <a href="classirr_1_1core_1_1map.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="irr_map_8h_source.html">irrMap.h</a>&gt;</code></p>

<p><a href="classirr_1_1core_1_1map-members.html">List of all members.</a></p>
<h2><a name="nested-classes"></a>
Classes</h2>
<ul>
<li>class <a class="el" href="classirr_1_1core_1_1map_1_1_access_class.html">AccessClass</a>
<li>class <a class="el" href="classirr_1_1core_1_1map_1_1_const_iterator.html">ConstIterator</a>
<dl class="el"><dd class="mdescRight">Const <a class="el" href="classirr_1_1core_1_1map_1_1_iterator.html" title="Normal Iterator.">Iterator</a>.  <a href="classirr_1_1core_1_1map_1_1_const_iterator.html#details">More...</a><br/></dl><li>class <a class="el" href="classirr_1_1core_1_1map_1_1_iterator.html">Iterator</a>
<dl class="el"><dd class="mdescRight">Normal <a class="el" href="classirr_1_1core_1_1map_1_1_iterator.html" title="Normal Iterator.">Iterator</a>.  <a href="classirr_1_1core_1_1map_1_1_iterator.html#details">More...</a><br/></dl><li>class <a class="el" href="classirr_1_1core_1_1map_1_1_parent_first_iterator.html">ParentFirstIterator</a>
<dl class="el"><dd class="mdescRight">Parent First <a class="el" href="classirr_1_1core_1_1map_1_1_iterator.html" title="Normal Iterator.">Iterator</a>.  <a href="classirr_1_1core_1_1map_1_1_parent_first_iterator.html#details">More...</a><br/></dl><li>class <a class="el" href="classirr_1_1core_1_1map_1_1_parent_last_iterator.html">ParentLastIterator</a>
<dl class="el"><dd class="mdescRight">Parent Last <a class="el" href="classirr_1_1core_1_1map_1_1_iterator.html" title="Normal Iterator.">Iterator</a>.  <a href="classirr_1_1core_1_1map_1_1_parent_last_iterator.html#details">More...</a><br/></dl><li>class <b>RBTree</b>
<dl class="el"><dd class="mdescRight">red/black tree for map <br/></dl></ul>
<h2><a name="pub-types"></a>
Public Types</h2>
<ul>
<li>typedef RBTree&lt; KeyType, <br class="typebreak"/>
ValueType &gt; <a class="el" href="classirr_1_1core_1_1map.html#ab5900de54f7cce26c95de541dff483ff">Node</a>
</ul>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li><a class="el" href="classirr_1_1core_1_1map.html#aeed38ee45d6d57954985b446596d07cc">map</a> ()
<li><a class="el" href="classirr_1_1core_1_1map.html#abea23eb926238eb0a3b971a1a8ba6da3">~map</a> ()
<li>void <a class="el" href="classirr_1_1core_1_1map.html#a0f7e7fdbb5ec7794851e32c9716dace0">clear</a> ()
<dl class="el"><dd class="mdescRight">Clear the entire tree.  <a href="#a0f7e7fdbb5ec7794851e32c9716dace0"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1map.html#ab5900de54f7cce26c95de541dff483ff">Node</a> * <a class="el" href="classirr_1_1core_1_1map.html#a6f95533c709ef2dbe17148442aa26984">delink</a> (const KeyType &amp;k)
<dl class="el"><dd class="mdescRight">Removes a node from the tree and returns it.  <a href="#a6f95533c709ef2dbe17148442aa26984"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1map.html#a910309524c697daa29877863b49ed3b9">empty</a> () const 
<li><a class="el" href="classirr_1_1core_1_1map.html#ab5900de54f7cce26c95de541dff483ff">Node</a> * <a class="el" href="classirr_1_1core_1_1map.html#ab8336f5210a2a5fcfd722e5050bd86e0">find</a> (const KeyType &amp;keyToFind) const 
<li><a class="el" href="classirr_1_1core_1_1map_1_1_const_iterator.html">ConstIterator</a> <a class="el" href="classirr_1_1core_1_1map.html#a997bb3bf46f66a4b42b23ec65e111b65">getConstIterator</a> () const 
<dl class="el"><dd class="mdescRight">Returns a Constiterator.  <a href="#a997bb3bf46f66a4b42b23ec65e111b65"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1map_1_1_iterator.html">Iterator</a> <a class="el" href="classirr_1_1core_1_1map.html#aabacc5723088035c10c28b6642a6a921">getIterator</a> () const 
<dl class="el"><dd class="mdescRight">Returns an iterator.  <a href="#aabacc5723088035c10c28b6642a6a921"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1map_1_1_parent_first_iterator.html">ParentFirstIterator</a> <a class="el" href="classirr_1_1core_1_1map.html#a8a9f9a68e17eadb6a401c0fb78202d4a">getParentFirstIterator</a> () const 
<li><a class="el" href="classirr_1_1core_1_1map_1_1_parent_last_iterator.html">ParentLastIterator</a> <a class="el" href="classirr_1_1core_1_1map.html#a8a1f6a2997b05126d80ef103a4f4b1ec">getParentLastIterator</a> () const 
<li><a class="el" href="classirr_1_1core_1_1map.html#ab5900de54f7cce26c95de541dff483ff">Node</a> * <a class="el" href="classirr_1_1core_1_1map.html#ab8823db164a055ec17a68a4ad24f5d4c">getRoot</a> () const 
<li>bool <a class="el" href="classirr_1_1core_1_1map.html#af9f8f34cab620e3bdc1ae72715ab9d15">insert</a> (const KeyType &amp;keyNew, const ValueType &amp;v)
<dl class="el"><dd class="mdescRight">Inserts a new node into the tree.  <a href="#af9f8f34cab620e3bdc1ae72715ab9d15"></a><br/></dl><li>_IRR_DEPRECATED_ bool <a class="el" href="classirr_1_1core_1_1map.html#abe50aefff40a6d71aa9f8b616acaa464">isEmpty</a> () const 
<li><a class="el" href="classirr_1_1core_1_1map_1_1_access_class.html">AccessClass</a> <a class="el" href="classirr_1_1core_1_1map.html#a396b601a40d70eb34aa6571e29f55992">operator[]</a> (const KeyType &amp;k)
<dl class="el"><dd class="mdescRight">operator [] for access to elements  <a href="#a396b601a40d70eb34aa6571e29f55992"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1map.html#a83d8a6261249668ae6a0f2bbd6e84c26">remove</a> (const KeyType &amp;k)
<dl class="el"><dd class="mdescRight">Removes a node from the tree and deletes it.  <a href="#a83d8a6261249668ae6a0f2bbd6e84c26"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1map.html#a8f8ee85b87b3764be03d78ba696e75f2">remove</a> (<a class="el" href="classirr_1_1core_1_1map.html#ab5900de54f7cce26c95de541dff483ff">Node</a> *p)
<dl class="el"><dd class="mdescRight">Removes a node from the tree and deletes it.  <a href="#a8f8ee85b87b3764be03d78ba696e75f2"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1map.html#ae31213e9478dd259bdd79c7fd3249584">set</a> (const KeyType &amp;k, const ValueType &amp;v)
<dl class="el"><dd class="mdescRight">Replaces the value if the key already exists, otherwise inserts a new element.  <a href="#ae31213e9478dd259bdd79c7fd3249584"></a><br/></dl><li><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> <a class="el" href="classirr_1_1core_1_1map.html#aaf4cb9eaca145cd25030d99121ec4ed6">size</a> () const 
<dl class="el"><dd class="mdescRight">Returns the number of nodes in the tree.  <a href="#aaf4cb9eaca145cd25030d99121ec4ed6"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1map.html#a411cde5df191c16616e20eb7027b9a20">swap</a> (<a class="el" href="classirr_1_1core_1_1map.html">map</a>&lt; KeyType, ValueType &gt; &amp;other)
<dl class="el"><dd class="mdescRight">Swap the content of this map container with the content of another map.  <a href="#a411cde5df191c16616e20eb7027b9a20"></a><br/></dl></ul>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;class KeyType, class ValueType&gt;<br/>
class irr::core::map&lt; KeyType, ValueType &gt;</h3>

<p>map template for associative arrays using a red-black tree </p>

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00018">18</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>
</div><hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="ab5900de54f7cce26c95de541dff483ff"></a><!-- doxytag: member="irr::core::map::Node" ref="ab5900de54f7cce26c95de541dff483ff" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef RBTree&lt;KeyType,ValueType&gt; <a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::<a class="el" href="classirr_1_1core_1_1map.html#ab5900de54f7cce26c95de541dff483ff">Node</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00134">134</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aeed38ee45d6d57954985b446596d07cc"></a><!-- doxytag: member="irr::core::map::map" ref="aeed38ee45d6d57954985b446596d07cc" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::<a class="el" href="classirr_1_1core_1_1map.html">map</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00673">673</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

</div>
</div>
<a class="anchor" id="abea23eb926238eb0a3b971a1a8ba6da3"></a><!-- doxytag: member="irr::core::map::~map" ref="abea23eb926238eb0a3b971a1a8ba6da3" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::~<a class="el" href="classirr_1_1core_1_1map.html">map</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00676">676</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

<p>References <a class="el" href="irr_map_8h_source.html#l00872">irr::core::map&lt; KeyType, ValueType &gt;::clear()</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a0f7e7fdbb5ec7794851e32c9716dace0"></a><!-- doxytag: member="irr::core::map::clear" ref="a0f7e7fdbb5ec7794851e32c9716dace0" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::clear </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clear the entire tree. </p>

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00872">872</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

<p>References <a class="el" href="irr_map_8h_source.html#l00557">irr::core::map&lt; KeyType, ValueType &gt;::ParentLastIterator::atEnd()</a>, <a class="el" href="irr_map_8h_source.html#l00563">irr::core::map&lt; KeyType, ValueType &gt;::ParentLastIterator::getNode()</a>, and <a class="el" href="irr_map_8h_source.html#l00982">irr::core::map&lt; KeyType, ValueType &gt;::getParentLastIterator()</a>.</p>

<p>Referenced by <a class="el" href="irr_map_8h_source.html#l00676">irr::core::map&lt; KeyType, ValueType &gt;::~map()</a>.</p>

</div>
</div>
<a class="anchor" id="a6f95533c709ef2dbe17148442aa26984"></a><!-- doxytag: member="irr::core::map::delink" ref="a6f95533c709ef2dbe17148442aa26984" args="(const KeyType &amp;k)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1map.html#ab5900de54f7cce26c95de541dff483ff">Node</a>* <a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::delink </td>
          <td>(</td>
          <td class="paramtype">const KeyType &amp;&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Removes a node from the tree and returns it. </p>
<p>The returned node must be deleted by the user </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">k</td><td>the key to remove </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the node, or 0 if not found </dd></dl>

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00784">784</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

<p>References <a class="el" href="irr_map_8h_source.html#l00904">irr::core::map&lt; KeyType, ValueType &gt;::find()</a>.</p>

</div>
</div>
<a class="anchor" id="a910309524c697daa29877863b49ed3b9"></a><!-- doxytag: member="irr::core::map::empty" ref="a910309524c697daa29877863b49ed3b9" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::empty </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Is the tree empty? </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns true if empty, false if not </dd></dl>

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00889">889</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

<p>References <a class="el" href="irr_types_8h_source.html#l00207">_IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX</a>.</p>

<p>Referenced by <a class="el" href="irr_map_8h_source.html#l00896">irr::core::map&lt; KeyType, ValueType &gt;::isEmpty()</a>.</p>

</div>
</div>
<a class="anchor" id="ab8336f5210a2a5fcfd722e5050bd86e0"></a><!-- doxytag: member="irr::core::map::find" ref="ab8336f5210a2a5fcfd722e5050bd86e0" args="(const KeyType &amp;keyToFind) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1map.html#ab5900de54f7cce26c95de541dff483ff">Node</a>* <a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::find </td>
          <td>(</td>
          <td class="paramtype">const KeyType &amp;&#160;</td>
          <td class="paramname"><em>keyToFind</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Search for a node with the specified key. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">keyToFind,:</td><td>The key to find </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 if node couldn't be found. </dd></dl>

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00904">904</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

<p>Referenced by <a class="el" href="irr_map_8h_source.html#l00784">irr::core::map&lt; KeyType, ValueType &gt;::delink()</a>, <a class="el" href="irr_map_8h_source.html#l00650">irr::core::map&lt; KeyType, ValueType &gt;::AccessClass::operator ValueType()</a>, <a class="el" href="irr_map_8h_source.html#l00823">irr::core::map&lt; KeyType, ValueType &gt;::remove()</a>, and <a class="el" href="irr_map_8h_source.html#l00771">irr::core::map&lt; KeyType, ValueType &gt;::set()</a>.</p>

</div>
</div>
<a class="anchor" id="a997bb3bf46f66a4b42b23ec65e111b65"></a><!-- doxytag: member="irr::core::map::getConstIterator" ref="a997bb3bf46f66a4b42b23ec65e111b65" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1map_1_1_const_iterator.html">ConstIterator</a> <a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::getConstIterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a Constiterator. </p>

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00960">960</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

<p>References <a class="el" href="irr_map_8h_source.html#l00926">irr::core::map&lt; KeyType, ValueType &gt;::getRoot()</a>.</p>

</div>
</div>
<a class="anchor" id="aabacc5723088035c10c28b6642a6a921"></a><!-- doxytag: member="irr::core::map::getIterator" ref="aabacc5723088035c10c28b6642a6a921" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1map_1_1_iterator.html">Iterator</a> <a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::getIterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns an iterator. </p>

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00953">953</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

<p>References <a class="el" href="irr_map_8h_source.html#l00926">irr::core::map&lt; KeyType, ValueType &gt;::getRoot()</a>.</p>

</div>
</div>
<a class="anchor" id="a8a9f9a68e17eadb6a401c0fb78202d4a"></a><!-- doxytag: member="irr::core::map::getParentFirstIterator" ref="a8a9f9a68e17eadb6a401c0fb78202d4a" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1map_1_1_parent_first_iterator.html">ParentFirstIterator</a> <a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::getParentFirstIterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a <a class="el" href="classirr_1_1core_1_1map_1_1_parent_first_iterator.html" title="Parent First Iterator.">ParentFirstIterator</a>. Traverses the tree from top to bottom. Typical usage is when storing the tree structure, because when reading it later (and inserting elements) the tree structure will be the same. </p>

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00971">971</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

<p>References <a class="el" href="irr_map_8h_source.html#l00926">irr::core::map&lt; KeyType, ValueType &gt;::getRoot()</a>.</p>

</div>
</div>
<a class="anchor" id="a8a1f6a2997b05126d80ef103a4f4b1ec"></a><!-- doxytag: member="irr::core::map::getParentLastIterator" ref="a8a1f6a2997b05126d80ef103a4f4b1ec" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1map_1_1_parent_last_iterator.html">ParentLastIterator</a> <a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::getParentLastIterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a <a class="el" href="classirr_1_1core_1_1map_1_1_parent_last_iterator.html" title="Parent Last Iterator.">ParentLastIterator</a> to traverse the tree from bottom to top. Typical usage is when deleting all elements in the tree because you must delete the children before you delete their parent. </p>

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00982">982</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

<p>References <a class="el" href="irr_map_8h_source.html#l00926">irr::core::map&lt; KeyType, ValueType &gt;::getRoot()</a>.</p>

<p>Referenced by <a class="el" href="irr_map_8h_source.html#l00872">irr::core::map&lt; KeyType, ValueType &gt;::clear()</a>.</p>

</div>
</div>
<a class="anchor" id="ab8823db164a055ec17a68a4ad24f5d4c"></a><!-- doxytag: member="irr::core::map::getRoot" ref="ab8823db164a055ec17a68a4ad24f5d4c" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1map.html#ab5900de54f7cce26c95de541dff483ff">Node</a>* <a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::getRoot </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Gets the root element. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a pointer to the root node, or 0 if the tree is empty. </dd></dl>

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00926">926</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

<p>Referenced by <a class="el" href="irr_map_8h_source.html#l00960">irr::core::map&lt; KeyType, ValueType &gt;::getConstIterator()</a>, <a class="el" href="irr_map_8h_source.html#l00953">irr::core::map&lt; KeyType, ValueType &gt;::getIterator()</a>, <a class="el" href="irr_map_8h_source.html#l00971">irr::core::map&lt; KeyType, ValueType &gt;::getParentFirstIterator()</a>, and <a class="el" href="irr_map_8h_source.html#l00982">irr::core::map&lt; KeyType, ValueType &gt;::getParentLastIterator()</a>.</p>

</div>
</div>
<a class="anchor" id="af9f8f34cab620e3bdc1ae72715ab9d15"></a><!-- doxytag: member="irr::core::map::insert" ref="af9f8f34cab620e3bdc1ae72715ab9d15" args="(const KeyType &amp;keyNew, const ValueType &amp;v)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::insert </td>
          <td>(</td>
          <td class="paramtype">const KeyType &amp;&#160;</td>
          <td class="paramname"><em>keyNew</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const ValueType &amp;&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inserts a new node into the tree. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">keyNew,:</td><td>the index for this value </td></tr>
    <tr><td class="paramname">v,:</td><td>the value to insert </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if successful, false if it fails (already exists) </dd></dl>

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00689">689</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

<p>References <a class="el" href="irr_types_8h_source.html#l00207">_IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX</a>.</p>

<p>Referenced by <a class="el" href="irr_map_8h_source.html#l00771">irr::core::map&lt; KeyType, ValueType &gt;::set()</a>.</p>

</div>
</div>
<a class="anchor" id="abe50aefff40a6d71aa9f8b616acaa464"></a><!-- doxytag: member="irr::core::map::isEmpty" ref="abe50aefff40a6d71aa9f8b616acaa464" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">_IRR_DEPRECATED_ bool <a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::isEmpty </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000017">Deprecated:</a></b></dt><dd>Use <a class="el" href="classirr_1_1core_1_1map.html#a910309524c697daa29877863b49ed3b9">empty()</a> instead. This method may be removed by Irrlicht 1.9 </dd></dl>

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00896">896</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

<p>References <a class="el" href="irr_map_8h_source.html#l00889">irr::core::map&lt; KeyType, ValueType &gt;::empty()</a>.</p>

</div>
</div>
<a class="anchor" id="a396b601a40d70eb34aa6571e29f55992"></a><!-- doxytag: member="irr::core::map::operator[]" ref="a396b601a40d70eb34aa6571e29f55992" args="(const KeyType &amp;k)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1map_1_1_access_class.html">AccessClass</a> <a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::operator[] </td>
          <td>(</td>
          <td class="paramtype">const KeyType &amp;&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>operator [] for access to elements </p>
<p>for example myMap["key"] </p>

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00994">994</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

</div>
</div>
<a class="anchor" id="a83d8a6261249668ae6a0f2bbd6e84c26"></a><!-- doxytag: member="irr::core::map::remove" ref="a83d8a6261249668ae6a0f2bbd6e84c26" args="(const KeyType &amp;k)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::remove </td>
          <td>(</td>
          <td class="paramtype">const KeyType &amp;&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Removes a node from the tree and deletes it. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if the node was found and deleted </dd></dl>

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00823">823</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

<p>References <a class="el" href="irr_map_8h_source.html#l00904">irr::core::map&lt; KeyType, ValueType &gt;::find()</a>.</p>

</div>
</div>
<a class="anchor" id="a8f8ee85b87b3764be03d78ba696e75f2"></a><!-- doxytag: member="irr::core::map::remove" ref="a8f8ee85b87b3764be03d78ba696e75f2" args="(Node *p)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::remove </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1map.html#ab5900de54f7cce26c95de541dff483ff">Node</a> *&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Removes a node from the tree and deletes it. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if the node was found and deleted </dd></dl>

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00831">831</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

<p>References <a class="el" href="irr_types_8h_source.html#l00207">_IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX</a>.</p>

</div>
</div>
<a class="anchor" id="ae31213e9478dd259bdd79c7fd3249584"></a><!-- doxytag: member="irr::core::map::set" ref="ae31213e9478dd259bdd79c7fd3249584" args="(const KeyType &amp;k, const ValueType &amp;v)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::set </td>
          <td>(</td>
          <td class="paramtype">const KeyType &amp;&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const ValueType &amp;&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Replaces the value if the key already exists, otherwise inserts a new element. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">k</td><td>The index for this value </td></tr>
    <tr><td class="paramname">v</td><td>The new value of </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00771">771</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

<p>References <a class="el" href="irr_map_8h_source.html#l00904">irr::core::map&lt; KeyType, ValueType &gt;::find()</a>, and <a class="el" href="irr_map_8h_source.html#l00689">irr::core::map&lt; KeyType, ValueType &gt;::insert()</a>.</p>

<p>Referenced by <a class="el" href="irr_map_8h_source.html#l00643">irr::core::map&lt; KeyType, ValueType &gt;::AccessClass::operator=()</a>.</p>

</div>
</div>
<a class="anchor" id="aaf4cb9eaca145cd25030d99121ec4ed6"></a><!-- doxytag: member="irr::core::map::size" ref="aaf4cb9eaca145cd25030d99121ec4ed6" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> <a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::size </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the number of nodes in the tree. </p>

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00932">932</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

</div>
</div>
<a class="anchor" id="a411cde5df191c16616e20eb7027b9a20"></a><!-- doxytag: member="irr::core::map::swap" ref="a411cde5df191c16616e20eb7027b9a20" args="(map&lt; KeyType, ValueType &gt; &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class KeyType, class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1map.html">irr::core::map</a>&lt; KeyType, ValueType &gt;::swap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1map.html">map</a>&lt; KeyType, ValueType &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Swap the content of this map container with the content of another map. </p>
<p>Afterwards this object will contain the content of the other object and the other object will contain the content of this object. Iterators will afterwards be valid for the swapped object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td>Swap content with this object </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="irr_map_8h_source.html#l00942">942</a> of file <a class="el" href="irr_map_8h_source.html">irrMap.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="irr_map_8h_source.html">irrMap.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceirr.html">irr</a>      </li>
      <li class="navelem"><a class="el" href="namespaceirr_1_1core.html">core</a>      </li>
      <li class="navelem"><a class="el" href="classirr_1_1core_1_1map.html">map</a>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht 
Engine</a> Documentation &copy; 2003-2012 by Nikolaus Gebhardt. Generated on Tue Jan 19 2016 16:08:49 for Irrlicht 3D Engine by
<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen</a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>
